
#include "stdafx.h"
#include "UiTransBmpButton.h"
#include <WinManager.h>
UiTransBmpButton::UiTransBmpButton(void)
:m_bVisible( TRUE ), m_bDisable( FALSE )
{
// 	m_BmpNormal.SetVisable(true);
// 	m_BmpSel.SetVisable(false);
// 	m_BmpDisable.SetVisable( false );
}

UiTransBmpButton::~UiTransBmpButton(void)
{
}
void UiTransBmpButton::LoadImage_Disable(HINSTANCE hModule, int nResID, bool bUseAlpha)
{
	m_imgDisable = ImagingHelper::GetImageObject(hModule, nResID, bUseAlpha);
}

// void UiTransBmpButton::OnStateChanged(DWORD dwState)
// {
// 	switch( GetState() )
// 	{
// 	case MZCS_BUTTON_PRESSED:
// 		{
// 			m_BmpSel.SetVisable(true);
// 			m_BmpNormal.SetVisable(false);
// 			m_BmpDisable.SetVisable( false );
// 		}
// 		break;
// 	case MZCS_BUTTON_NORMAL:
// 		{
// 			m_BmpNormal.SetVisable(true);
// 			m_BmpSel.SetVisable(false);			
// 			m_BmpDisable.SetVisable( false );
// 		}
// 		break;
// 	case UIBUTTON_STATE_DISABLE:
// 		{
// 			m_BmpDisable.SetVisable( true );
// 			m_BmpNormal.SetVisable( false );
// 			m_BmpSel.SetVisable(false);
// 		}
// 		break;
// 	}
// }

// void UiTransBmpButton::SetBitmapNormal(HANDLE hModule, int nBitmapID)
// {
// 	m_BmpNormal.SetBitmap( hModule, nBitmapID );
// }
// 
// void UiTransBmpButton::SetBitmapSel(HANDLE hModule, int nBitmapID)
// {
// 	m_BmpSel.SetBitmap( hModule, nBitmapID );
// }
// void UiTransBmpButton::SetBitmapDisable(HANDLE hModule, int nBitmapID)
// {
// 	m_BmpDisable.SetBitmap( hModule, nBitmapID );
// }
// void UiTransBmpButton::SetTransColor(bool bEnable, COLORREF clrTrans )
// {
// 	m_BmpNormal.SetTransColor( bEnable, clrTrans );
// 	m_BmpSel.SetTransColor( bEnable, clrTrans );
// 	m_BmpDisable.SetTransColor( bEnable, clrTrans );
// }
// void UiTransBmpButton::SetText(LPCTSTR text)
// {
// 	m_Text.SetText(text);
// }
// void UiTransBmpButton::SetTextColor(COLORREF cr)
// {
// 	m_Text.SetTextColor(cr);
// }
// void UiTransBmpButton::SetTextSize(int nSize)
// {
// 	m_Text.SetTextSize(nSize);
// }
void UiTransBmpButton::SetVisible(BOOL bVisible )
{
	m_bVisible = bVisible;
}
void UiTransBmpButton::SetDisable(BOOL bDisable /* = FALSE  */)
{
	m_bDisable = bDisable;
	if( bDisable )
	{
		SetState( UIBUTTON_STATE_DISABLE );
	}
	else
	{
		SetState( MZCS_BUTTON_NORMAL );
	}
}

void UiTransBmpButton::PaintWin(HDC hdc, RECT* prcWin, RECT* prcUpdate)
{
	if( m_bVisible )
	{
//		RECT rc = *prcWin;
// 		if(m_BmpNormal.IsVisable())
// 		{
// 			m_BmpNormal.PaintElement(hdc, &rc);
// 		}
// 		if(m_BmpSel.IsVisable())
// 		{
// 			m_BmpSel.PaintElement(hdc, &rc);
// 		}
// 		if( m_BmpDisable.IsVisable() )
// 		{
// 			m_BmpDisable.PaintElement( hdc, &rc );
// 		}
// 		if(m_Text.IsVisable())
// 		{
// 			RECT rct = rc;
// 			if( GetState() == MZCS_BUTTON_PRESSED )
// 			{
// 				rct.left+=2; 
// 				rct.top+=2;
// 			}
// 			m_Text.PaintElement(hdc, &rct);
// 		}
		RECT rc = *prcWin;

		if (GetState()==MZCS_BUTTON_NORMAL || m_nMode==1)
		{
			m_imgNormal->Draw(hdc, prcWin, false);
		}
		if (GetState()==MZCS_BUTTON_PRESSED)
		{
			m_imgNormal->Draw(hdc, prcWin, false);
			m_imgPressed->Draw(hdc, prcWin, false);
		}
		if( GetState() == UIBUTTON_STATE_DISABLE )
		{
			m_imgDisable->Draw( hdc, prcWin, false );
		}
	}
}
 int UiTransBmpButton::OnLButtonDown(UINT fwKeys, int xPos, int yPos)
 {
 	if( !m_bDisable && m_bVisible )
 	{
		return UiButton::OnLButtonDown( fwKeys, xPos, yPos ); 
 	}
 	return 0;
 }
int UiTransBmpButton::OnLButtonUp(UINT fwKeys, int xPos, int yPos)
{
	if( !m_bDisable && m_bVisible )
	{
		return UiButton::OnLButtonUp( fwKeys, xPos, yPos );
	}
	return 0;
}



